package com.builder;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.ViewScoped;

import com.model.ProductoPrecio;
import com.view.ProductoPrecioView;
import com.view.ProductoView;

@ManagedBean
@ViewScoped
@SuppressWarnings("serial")
public class ProductoPrecioBuilder extends
		BaseBuilder<ProductoPrecioView, ProductoPrecio> {

	@ManagedProperty("#{productoBuilder}")
	private ProductoBuilder productoBuilder;

	@Override
	public ProductoPrecio toDomain(ProductoPrecioView view) {
		return new ProductoPrecio(view.getId(),
				view.getProducto() != null ? productoBuilder.toDomain(view
						.getProducto()) : null, view.getPrecio());
	}

	@Override
	public ProductoPrecioView toView(ProductoPrecio model) {
		return new ProductoPrecioView(model.getID(),
				model.getProducto() != null ? productoBuilder.toView(model
						.getProducto()) : new ProductoView(), model.getPrecio());
	}

	public ProductoBuilder getProductoBuilder() {
		return productoBuilder;
	}

	public void setProductoBuilder(ProductoBuilder productoBuilder) {
		this.productoBuilder = productoBuilder;
	}

}
